/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package BUS;

import DAO.NguoidungDAO;
import POJO.Nguoidung;
import java.util.List;

/**
 *
 * @author nhlvu07db373
 */
public class NguoidungBUS {
    private NguoidungDAO ndDAO;

    /**
     *Rút trích danh sách tất cả người dùng
     *
     */
    public List dsNguoidungAll() {
        return ndDAO.dsNguoidungAll();
    }

    /**
     *Rút trích danh sách tất cả người dùng
     *<br> Có phân trang
     */
    public List dsNguoidungAll(int firstResult, int maxResults) throws Throwable {
        return ndDAO.dsNguoidungAll(firstResult, maxResults);
    }
    /**
     * dăng nhập vào trang web
     * @param email
     * @param matkhau
     * @return 
     */
    public Nguoidung dangNhap(String email,String matkhau)
    {
        return ndDAO.dangNhap(email, matkhau);
    }
     /**
     * Lấy danh sách các sản phẩm theo tình trạng
     * @param tinhTrang tình trạng của sản phẩm 0 ngưng bán 1 đang bán
     * @return List các sản phẩm thỏa
     */
    public List dsSanphamFi(int tinhTrang) {
        return ndDAO.dsSanphamFi(tinhTrang);
    }
    /**
     * Rút trích tất cả các sản phẩm hiện tại theo tình trạng có phân trang
     * @param tinhTrang tình trạng của sản phẩm 0 hết bán 1 là đang bán
     * @param firstResult dòng đầu tiên cần lấy
     * @param maxResults số dòng cần lấy tối đa
     * @return trả ra kết quả các record thỏa
     * @throws Throwable 
     */
    public List dsSanphamFi(int tinhTrang, int firstResult, int maxResults) throws Throwable {
        return ndDAO.dsSanphamFi(tinhTrang, firstResult, maxResults);
    }
    /**
     * Lấy thông tin người dùng dựa vào mã người dùng
     * @param maSp tham số truyền vào là mã sản phẩm kiểu string
     * @return là sản phẩm có cùng mã nếu có Sanpham POJO
     */
    public Nguoidung layNguoiDung(String maNd) {
        return ndDAO.layNguoiDung(maNd);
    }

     /**
     * Cập nhật thông tin hay tiếp nhận một người dùng mới
     * @param sp Sản phẩm POJO cần xử lí
     * @return trả ra kết quả true nếu xử lí thành công và ngược lại
     */
    public boolean luuNguoidung(Nguoidung nd) {
        return ndDAO.luuNguoidung(nd);
    }
    
    /**
     * Xóa một sản phẩm
     * @param sp tham số truyền vào là Sản phẩm POJO cần xóa
     * @return kết quả là true nếu xóa thành công
     */
    public boolean xoaNguoidung(Nguoidung nd) {
        return ndDAO.xoaNguoidung(nd);
    } 
    
    /**
     * Cập nhật tình trạng cho người dùng
     * @param maNd mã người dùng
     * @param tinhTrang mã tình trạng
     * @return 
     */
    public boolean capnhattinhtrangNguoidung(String maNd, int tinhTrang) {
        return  ndDAO.capnhattinhtrangNguoidung(maNd, tinhTrang);
    }
    
    /**
     * @return the ndDAO
     */
    public NguoidungDAO getNdDAO() {
        return ndDAO;
    }

    /**
     * @param ndDAO the ndDAO to set
     */
    public void setNdDAO(NguoidungDAO NdDAO) {
        this.ndDAO = NdDAO;
    }
}
